Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce and use the new "best effort" strategy for Secure Channel revoke checking #2535

Merged
merged 1 commit into from Mar 4, 2020

Conversation

dscho
Copy link
Member

@dscho dscho commented Mar 4, 2020

We contributed a patch to cURL to silently ignore certain errors during revocation checking.

This should help the problems e.g. with Fiddler or with corporate proxies where it is relatively common that certificates are missing CRL distribution point URLs.

Since this seems to be what the OpenSSL backend does by default, we force this to be the default for the Secure Channel backend, too (and it can be overridden via http.schannelCheckRevoke).

cc @niik

The native Windows HTTPS backend is based on Secure Channel which lets
the caller decide how to handle revocation checking problems caused by
missing information in the certificate or offline CRL distribution
points.

Unfortunately, cURL chose to handle these problems differently than
OpenSSL by default: while OpenSSL happily ignores those problems
(essentially saying "¯\_(ツ)_/¯"), the Secure Channel backend will error
out instead.

As a remedy, the "no revoke" mode was introduced, which turns off
revocation checking altogether. This is a bit heavy-handed. We support
this via the `http.schannelCheckRevoke` setting.

In curl/curl#4981, we contributed an opt-in
"best effort" strategy that emulates what OpenSSL seems to do.

In Git for Windows, we actually want this to be the default. This patch
makes it so, introducing it as a new value for the
`http.schannelCheckRevoke" setting, which now becmes a tristate: it
accepts the values "false", "true" or "best-effort" (defaulting to the
last one).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho dscho force-pushed the schannel-revoke-best-effort branch from f196072 to 19d37fd Compare March 4, 2020 21:49
@dscho dscho merged commit f8c47b1 into git-for-windows:master Mar 4, 2020
@dscho dscho deleted the schannel-revoke-best-effort branch March 4, 2020 23:37
dscho added a commit to git-for-windows/build-extra that referenced this pull request Mar 4, 2020
The native Windows HTTPS backend (Secure Channel) [has
learned to work gracefully with Fiddler and corporate
proxies](git-for-windows/git#2535).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho dscho added this to the Next release milestone Mar 5, 2020
git-for-windows-ci pushed a commit that referenced this pull request Mar 5, 2020
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Mar 5, 2020
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Mar 5, 2020
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Mar 5, 2020
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
dscho added a commit that referenced this pull request Mar 6, 2020
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
dscho added a commit to dscho/git that referenced this pull request Mar 6, 2020
…st-effort

Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Mar 6, 2020
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Mar 9, 2020
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Mar 9, 2020
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
dscho added a commit that referenced this pull request Mar 10, 2020
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Mar 10, 2020
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
dscho added a commit that referenced this pull request Mar 10, 2020
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 22, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 22, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 23, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 23, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 24, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
dscho added a commit to microsoft/git that referenced this pull request Apr 24, 2024
…st-effort

Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 24, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
dscho added a commit that referenced this pull request Apr 25, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 25, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 25, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
dscho added a commit that referenced this pull request Apr 25, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 25, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 26, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 26, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 26, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 26, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 26, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 27, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 27, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 29, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 29, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
dscho added a commit to microsoft/git that referenced this pull request Apr 29, 2024
…st-effort

Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 29, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request Apr 29, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request May 1, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request May 1, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request May 1, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request May 4, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request May 4, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
git-for-windows-ci pushed a commit that referenced this pull request May 9, 2024
Introduce and use the new "best effort" strategy for Secure Channel revoke checking
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant